//
//  BaseTableViewCell.h
//  TestForReactiveCocoa
//
//  Created by liangshangjia on 16/2/17.
//  Copyright © 2016年 Sami-Network. All rights reserved.
//

#import <UIKit/UIKit.h>

@interface BaseTableViewCell : UITableViewCell


- (void)initialize;

- (void)configureCellWithEntity:(id)entity;


/**
 *  表格单元 重用识别码
 */
+ (NSString *)cellIdentifier;

/**
 *  表格单元 高度
 *  @param entity 实体类
 *  @param index 下标
 */
+ (CGFloat)cellHeightWithEntity:(id)entity atIndex:(NSInteger)index;


/**
 *  注册 表格单元
 *  @param tableview 表格视图
 *  @param identifier 表格单元重用码
 */
+ (void)tableView:(UITableView *)tableView registerCellWithIdentifier:(NSString *)identifier;
+ (void)registerCellToTableView:(UITableView *)tableView;

/**
 *  cell的重用方法
 *  @param identifier cell重用码
 *  @param indexPath 表格下标(NSIndexPath)
 *  @return cell
 */
+ (instancetype)cellWithTableView:(UITableView *)tableView atIndexPath:(NSIndexPath *)indexPath;
+ (instancetype)cellWithTableView:(UITableView *)tableView;


@end
